/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Decorator_Pattern;

/**
 * Clase que inicializa el patron decorador, venta de cafes para este caso
 * @author Karadak
 */
public class Lanzar_Decorador 
{
    /**
     * metodo que crea las distintas bebidas que se ofrecen
     * @param opcion
     * @return 
     */
    public bebidas creando(String opcion)
    {
        bebidas cafe = null ;
        
        switch (opcion)
        {
            case "Expresso":
                cafe = new Expresso();
                break;  
                
            case "Capuccino":
                cafe = new Capuccino();
                break;
                
            case "Tea":
                cafe = new Tea();
                break;
                        
            case "Frapuccino":
                cafe = new Frapuccino();
                break;
        }      
        return cafe;
    }
    
    /**
     * metodo que va agregando los distintos ingredientes a la bebida base eleguida con anterioridad
     * @param ingrediente
     * @param miCafe
     * @return 
     */
    public bebidas Mesclando(String ingrediente, bebidas miCafe)
    {
        bebidas cafe = miCafe ;
        
        switch(ingrediente)
        {
            case "Amareto":
                cafe = new Amareto(miCafe);               
                break;
                
            case "Miel":
                cafe = new Miel(miCafe);
                break;
                
            case "Leche":
                cafe = new Leche(miCafe);
                break;
        }
        return cafe;
    }
}
